Traffic driver for suggesting stores

ABSTRACT

A system and method for providing a suggested store at or through which to purchase a product or service. When a user enters a query for a product or service into a user interface, the system may use the query as a search argument to search files to find one or more pictures illustrating information about a product or service represented by the query. The picture could illustrate where the queried product or service may be purchased. Auto-complete processes may also be used to process the query as it is being entered, to generate an auto-suggestion key word based on fewer than all the letters of the query, to use as a search argument for the search. Both the query and the auto-suggestion key word may be used as search arguments to find the relevant picture in a variety of search logic sequences to provide the picture to the user.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/916,198, filed Oct. 29, 2010, which claims the benefit of the U.S. Provisional Patent Application Ser. No. 61/318,772, the benefit of priority of each of which is claimed hereby, and each are incorporated herein by reference in their entirety.

TECHNICAL FIELD

The present disclosure generally relates to data processing techniques. More specifically, the present disclosure relates to methods and systems for managing how search results are processed and presented to a user of a computer-based trading or e-commerce application.

BACKGROUND

Advancements in computer and networking technologies have enabled persons to conduct commercial and financial transactions “on-line” via computer-based applications. This has given rise to a new era of commerce, A number of well-known retailers have expanded their presence and reach by operating websites that facilitate this. In addition, many new retailers, which operate exclusively online, have come into existence. The business models utilized by enterprises operating online are almost as varied as the products and services offered. For instance, some products and services are offered at fixed prices, while others are offered via various auction methods, and still others are offered via a system of classified ad listings. Some enterprises specialize in the selling of a specific type of product (e.g., books) or a specific service (e.g., tax preparation), white others provide a myriad of categories of items and services from which to choose. Some enterprises serve only as an intermediary, connecting sellers and buyers, while others sell directly to consumers.

Despite the many technical advances that have improved the state of e-commerce, a great number of technical challenges and problems remain. One such problem involves determining how to provide a better shopping experience, and at the same time drive traffic to selected stores and/or landing pages, so as to maximize the likelihood that a transaction (e.g., the sale of a product or service) will occur tier the store. For instance, when a shopper performs an on-line search fir a product or service, it may often be the case that the shopper will find the product or service sought after but may not find a store, whether online or otherwise, from which to purchase the item. Furthermore, it is well established that the presentation of an easier and more efficient shopping experience can affect whether potential buyers ultimately purchase the listed product or service. Providing a suggested store at or through which to purchase the product or service provides an easier and more efficient shopping experience, which is desired. At the same time, from a seller's standpoint, it would be desirable to drive more traffic for particular products to selected stores, online or otherwise, while at the same providing a better shopping experience for the buyer.

DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which:

FIG. 1 is a block diagram of a network environment including a network-connected client system and server system, with which an embodiment of the invention might be implemented;

FIG. 1A illustrates an example of a search term input box and a drop down box for a graphical user interface for the web client of FIG. 1.

FIG. 2 illustrates an example of the various functional components or modules of a network-connected client system and server system, according to an embodiment of the invention;

FIG. 3 illustrates a high-level entity-relationship diagram illustrating various tables that may be maintained within databases of the networked system of FIG. 2;

FIG. 4A illustrates one manner in which configuration files useable in an embodiment of the invention might be identified;

FIG. 4B illustrates examples of fields that might be used in configuration files useable in an embodiment of the invention;

FIG. 5 illustrates a method useable in an embodiment of the invention;

FIG. 6 illustrates a further method useable in an embodiment of the invention;

FIG. 7 illustrates how a picture relating to key search words might be positioned in a drop-down box according to one embodiment of the invention;

FIG. 8 illustrates one embodiment of stretching the drop-down box according to an embodiment of the invention;

FIG. 9 illustrates an example of plain text keywords, products, and a traffic driver picture useable in an embodiment of the invention;

FIG. 10 illustrates an example of a picture in a drop down display with a web page in the background according to one embodiment of the invention;

FIG. 11A illustrates two pictures useful in an embodiment of the invention;

FIG. 11B illustrates an example of how a first picture of FIG. 11A can be configured in a configuration file.

FIG. 11C illustrates how a second picture of FIG. 11A can be configured in a configuration file.

FIG. 11D is a step by step illustration of the pictures that can be displayed with various, and the reasoning for the behavior of the system in respect of the queries.

FIG. 12 is a block diagram of a machine in the form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

DETAILED DESCRIPTION Platform Architecture

FIG. 1 is a network diagram depicting a client-server system 100, within which one example embodiment may be deployed. A networked system 2, in the example forms of a network-based marketplace or publication system, provides server-side functionality, via a network 4 (e.g., the Internet or Wide Area Network (WAN)) to one or more clients. FIG. 1 illustrates, for example, a web client 6 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Washington State), and a programmatic client 8 executing on respective client machines 10 and 12.

An Application Program Interface (API) server 14 and a web server 16 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 18. The application servers 18 host one or more marketplace applications 20 and payment applications 22. The application servers 18 are, in turn, shown to be coupled to one or more databases servers 24 that facilitate access to one or more databases 26.

The marketplace applications 20 may provide a number of marketplace functions and services to users that access the networked system 2. The payment applications 22 may likewise provide a number of payment services and functions to users. The payment applications 22 may allow users to accumulate value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications 20. While the marketplace and payment applications 20 and 22 are shown in FIG. 1 to both form part of the networked system 2, it will be appreciated that, in alternative embodiments, the payment applications 22 may form part of a payment service that is separate and distinct from the networked system 2.

Further, while the system 100 shown in FIG. 1 employs a client-server architecture, the present invention is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example. The various marketplace and payment applications 20 and 22 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.

The web client 6 accesses the various marketplace and payment applications 20 and 22 via the web interface supported by the web server 16. Similarly, the programmatic client 8 accesses the various services and functions provided by the marketplace and payment applications 20 and 22 via the programmatic interface provided by the API server 14. The programmatic client 8 may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on the networked system 2 in an off-line manner, and to perform batch-mode communications between the programmatic client 8 and the networked system 2.

As illustrated by the user interface with reference number 30 of FIG. 1A, a user may be presented with a search interface 31 in the web client 6, with which the user can specify one or more search terms to be used in a search request submitted to the networked system 2 via network 4. In some embodiments, in addition to specifying search terms, users may be able to select certain item attributes, such as the desired color of an item, the item categories that are to be searched, and so on. After receiving and processing the search request, the networked system 2 communicates a response to the web client 6. For instance, the response can be an Internet document or web page that, when rendered by the web client 6, displays a search results page showing one or more item listings that satisfy the user's search request.

FIG. 1 also illustrates a third party application 28, executing on a third party server machine 30, as having programmatic access to the networked system 2 via the programmatic interface provided by the API server 14. For example, the third party application 28 may, utilizing information retrieved from the networked system 2, support one or more features or functions on a website hosted by the third party. The third party website may, for example, provide one or more promotional, marketplace or payment functions that are supported by the relevant applications of the networked system 2.

Marketplace Applications

FIG. 2 is a block diagram illustrating multiple applications 20 and 22 that, in one example embodiment, are provided as part of the networked system 2. The applications 20 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between server machines. The applications themselves are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, an as to allow information to be passed between the applications or so as to allow the applications to share and access common data. The applications may furthermore access one or more databases 26 via the database servers 28.

The networked system 2 may provide a number of publishing, listing and price-setting mechanisms whereby a seller may list (or publish information concerning) goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services. To this end, the marketplace applications 20 are shown to include at least one publication application 40 and one or more auction applications 42 which support auction-format listing and price setting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double, Reverse auctions etc.). The various auction applications 42 may also provide a number of features in support of such auction-format listings, such as a reserve price feature whereby a seller may specify a reserve price in connection with a listing and a proxy-bidding feature whereby a bidder may invoke automated proxy bidding.

A number of fixed-price applications 44 support fixed-price listing formats (e.g., the traditional classified advertisement-type listing or a catalogue listing) and buyout-type listings. Specifically, buyout-type listings (e.g., including the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.) may be offered in conjunction with auction-format listings, and allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for fixed-price that is typically higher than the starting price of the auction.

Store applications 46 allow a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives and features that are specific and personalized to a relevant seller.

Reputation applications 48 allow users that transact, utilizing the networked system 2, to establish, build and maintain reputations, which may be made available and published to potential trading partners. Consider that where, for example, the networked system 2 supports person-to-person trading, users may otherwise have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed. The reputation applications 48 allow a user, for example through feedback provided by other transaction partners, to establish a reputation within the networked system 2 over time. Other potential trading partners may then reference such a reputation for the purposes of assessing credibility and trustworthiness.

Personalization applications 50 allow users of the networked system 2 to personalize various aspects of their interactions with the networked system 2. For example a user may, utilizing an appropriate personalization application 50, create a personalized reference page at which information regarding transactions to which the user is (or has been) a party may be viewed. Further, a personalization application 50 may enable a user to personalize listings and other aspects of their interactions with the networked system 2 and other parties.

The networked system may support a number of marketplaces that are customized, for example, for specific geographic regions. A version of the networked system 2. may be customized for the United Kingdom, whereas another version of the networked system 2 may be customized for the United States. Each of these versions may operate as an independent marketplace, or may be customized (or internationalized) presentations of a common underlying marketplace. The networked system 2 may accordingly include a number of internationalization applications 52 that customize information (and/or the presentation of information) by the networked system 2 according to predetermined criteria (e.g., geographic, demographic or marketplace criteria). For example, the internationalization applications 52 may be used to support the customization of information for a number of regional websites that are operated by the networked system 2 and that are accessible via respective web servers 16.

Navigation of the networked system 2 may be facilitated by one or more navigation applications 54. For example, a search application (as an example of a navigation application) may enable key word searches of listings published via the networked system 2. A browse application may allow users to browse various category, catalogue, or inventory data structures according to which listings may be classified within the networked system 2. Various other navigation applications may be provided to supplement the search and browsing applications.

In order to make listings, available via the networked system 2, as visually informing and attractive as possible, the marketplace applications 20 may include one or more imaging applications 56 which users may upload images for inclusion within listings. An imaging application 56 also operates to incorporate images within viewed listings. The imaging applications 56 may also support one or more promotional features, such as image galleries that are presented to potential buyers. For example, sellers may pay an additional fee to have an image included within a gallery of images for promoted items.

Listing creation applications 58 allow sellers conveniently to author listings pertaining to goods or services that they wish to transact via the networked system 2, and listing management applications 60 allow sellers to manage such listings. Specifically, where a particular seller has authored and/or published a large number of listings, the management of such listings may present a challenge. The listing management applications 60 provide a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the seller in managing such listings. One or more post-listing management applications 62 also assist sellers with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by one or more auction applications 42, a seller may wish to leave feedback regarding a particular buyer. To this end, a post-listing management application 62 may provide an interface to one or more reputation applications 48, so as to allow the seller conveniently to provide feedback regarding multiple buyers to the reputation applications 48.

Dispute resolution applications 64 provide mechanisms whereby disputes arising between transacting parties may be resolved. For example, the dispute resolution applications 64 may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a third party mediator or arbitrator.

A number of fraud prevention applications 66 implement fraud detection and prevention mechanisms to reduce the occurrence of fraud within the networked system 2.

Messaging applications 68 are responsible for the generation and delivery of messages to users of the networked system 2, such messages for example advising users regarding the status of listings at the networked system 2 (e.g., providing “outbid” notices to bidders during an auction process or to provide promotional and merchandising information to users). Respective messaging applications 68 may utilize any one of a number of message delivery networks and platforms to deliver messages to users. For example, messaging applications 68 may deliver electronic mail (e-mail), instant message (IM), Short Message Service (SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messages via the wired (e.g., the Internet), Plain Old Telephone Service (POTS), or wireless (e.g., mobile, cellular, WiFi, WiMAX) networks.

Merchandising applications 70 support various merchandising functions that are made available to sellers to enable sellers to increase sales via the networked system 2. The merchandising applications 70 also operate the various merchandising features that may be invoked by sellers, and may monitor and track the success of merchandising strategies employed by sellers. The networked system 2 itself, or one or more parties that transact via the networked system 2, may operate loyalty programs that are supported by one or more loyalty/promotions applications 72. For example, a buyer may earn loyalty or promotions points for each transaction established and/or concluded with a particular seller, and be offered a reward for which accumulated loyalty points can be redeemed. An auto-complete application 74 supports an auto-complete function. Auto-complete modules are well known and auto-complete is a feature provided by many web browsers, search engine, and other technology devices. Auto-complete involves the program predicting a word or phrase that the user wants to type into a command or query line, without the user actually typing it in completely. Auto-complete can speed up human-computer interactions.

Data Structures

FIG. 3 is a high-level entity-relationship diagram, illustrating various tables 200 that may be maintained within the databases 26, and that are utilized by and support the applications 20 and 22. A user table 102 contains a record for each registered user of the networked system 2, and may include identifier, address and financial instrument information pertaining to each such registered user. A user may operate as a seller, a buyer, or both, within the networked system 2. In one example embodiment, a buyer may be a user that has accumulated value (e.g., commercial or proprietary currency), and is accordingly able to exchange the accumulated value for items that are offered for sale by the networked system 2.

The tables 200 also include an items table 104 in which are maintained item records for goods and services that are available to be, or have been, transacted via the networked system 2. Each item record within the items table 104 may furthermore be linked to one or more user records within the user table 102, so as to associate a seller and one or more actual or potential buyers with each item record.

A transaction table 106 contains a record for each transaction (e.g., a purchase or sale transaction) pertaining to items for which records exist within the items table 104.

An order table 108 is populated with order records, each order record being associated with an order. Each order, in turn, may be with respect to one or more transactions for which records exist within the transaction table 106.

Bid records within a bids table 110 each relate to a bid received at the networked system 2 in connection with an auction-format listing supported by an auction application 2. A feedback table 112 is utilized by one or more reputation applications 8, in one example embodiment, to construct and maintain reputation information concerning users. A history table 114 maintains a history of transactions to which a user has been a party. One or more attributes tables 116 record attribute information pertaining to items for which records exist within the items table 104. Considering only a single example of such an attribute, the attributes tables 116 may indicate a currency attribute associated with a particular item, the currency attribute identifying the currency of a price for the relevant item as specified in by a seller.

In one embodiment, when a user enters, or as a user is entering, a query into the search interface 31 of web client 6 illustrated in FIG. 1A, the system functions to use the query (also called the “user key word”) as a search argument for a search engine, to search a file to find one or more pictures illustrating information about a product or service represented by the query. The picture could illustrate where the queried product or service may be purchased. The picture, which could be the name of an outlet store, a link to an online store, or a product suggestion, or a combination thereof, is displayed in a display that could be a dropdown display 32 of the user interface of web client 6. Auto-complete processes may also be used to process the query to generate an auto-suggestion key word to use as a search argument for the search engine.

In one embodiment, the query may be the name of a brand or of a product, and the relevant picture(s) will ultimately be displayed on the user interface of web client 6, such as by being integrated or displayed into the auto-complete drop-down box 32.

Configuration files could be used for the files that include the pictures. In computing, configuration files are well known, and configure the initial settings for some computer programs. They are used for user applications, server processes and operating system settings. The files are often written in ASCII and line-oriented, with lines terminated by a newline or carriage return/line feed pair, depending on the operating system. They may be considered a simple database.

The pictures may be located in a configuration file. There may be many configuration files, each with one picture in this particular embodiment although other compositions of pictures and configuration files could be used. When a user begins entering a search query, such as a brand or a product, the auto-complete application will be triggered into action by a minimum number of letters of the query entered by the user. As one example, the auto-complete application will be triggered by the entering of three letters, and will generate an appropriate completed query called an “auto-suggestion key word” which can be used as a search argument to search the configuration files to display a picture that matches the search argument.

In the above example, the reason to generate an auto-suggestion key word after three letters instead of two letters is that the system has a greater probability of guessing what the user wants by using three letters to generate the auto-suggestion key word. For example, if the user inputs “ip” (two letters), the system won't know for certain whether the user wants an ipod or an iphone. On the other hand, if the user inputs “ipo” (three letters), the system has a higher probability of being successful by surfacing ipod as the product the user is seeking.

The user may complete the entry (independent of the auto-complete function) and may generate a user input key word query. The query may be, for example, a brand name or a product. Both the user input key word and the auto-suggestion key word can he used as search arguments for the search engine to search the configuration files for a picture that matches user input key word or the auto-suggestion key word, as explained more fully below. The picture could inform the user by way of the drop down display of the brand and/or the store at which products sold under the brand, or product named by the search argument, can be purchased.

There can be many configuration files, with pictures matched with the user input key word (query) or the auto-suggestion key word. In one embodiment there can be one picture per configuration file, and many, many configuration files. Configuration files may be distinguished by identifying numbers such as 100, 110, 120, 130, . . . , N, or whatever other numbering system the system designer prefers to use. In one embodiment the configuration files with the smaller numbers will have higher priority and will be searched first, and then configuration files with larger numbers can be searched. For example, the lowest number configuration file can be searched first and if no match is found, the next higher numbered configuration file can be searched, and so on. One of ordinary skill in the art will recognize that this is but one search scheme and that many search schemes can be used without departing from the spirit or the scope of the invention.

The mapping of pictures and associated destination page URLs can be implemented in the configuration files. An example of a possible way names and formats for the configuration files can be implemented is in FIG. 4A where the file name, the file number and an example of the number and of the picture are illustrated. FIG. 4B illustrates fields that might be in the configuration files, with explanation for each. The term “period” is the period of time the file picture is valid. Also illustrated in FIG. 4B is a page URL which would be the page the picture URL drives the user to when the user clicks the picture, also as discussed subsequently.

One search logic that can be used is to give the user input key word priority over the auto-suggestion key word. The system would search a configuration file using the user input query as a first search argument. If a matched picture is found using the query, the picture can be displayed. If there is no match using the query as a first search argument, the system may search the configuration file for a picture matched with the auto-suggestion key word as a second search argument. The system will continue searching subsequent files in that order, first using the user input query and next using the auto-suggestion key word, until there is a matched picture found. The picture can then be published to the user interface via the auto-complete dropdown display, in the embodiment under discussion.

The foregoing search logic can be seen broadly in the method illustrated in FIG. 5. With auto-complete active, the user enters a query. When the user entered the minimum number of letters that triggers the auto-complete, the system generates an auto-suggestion key word from those letters. The user may complete the query that can be used a key word for search. Then the user key word (query) can be used by the system as the first search argument for searching the first configuration file. If the search results in a match, the system will transmit the picture for display on the user interface. If there is no match, the system can use the auto-suggestion key word as a second search argument to search the file for a picture that matches. If the auto-suggestion key word results in a match, the system will transmit the picture for display on the user interface. If no search is found the search continues with other files being searched in the sequence described until a matched picture is found.

FIG. 6 illustrates a further method that could be used in the search logic of the embodiment under discussion. The system may use the auto-suggestion key word as a first search argument to search a first file. If there is a match, the system may transmit the matching picture to be displayed on the user interface. If there is no match, the system can use the user input key word (query) as a second search argument to search the file for a picture that matches. If the query produces a match, the system can transmit the picture for display on the user interface. If no match is found with the query, the foregoing four steps can be repeated with the next file. If those four steps do not result in a match, the system can search the next file using the same search logic, and so on until a match is found.

Those skilled in the art will recognize that because the auto-complete function operates at electronic speeds, say microseconds, and the user keying in letters operates at mechanical speeds, say in the order of milliseconds, there will be a period of time (from the time the minimum number of letters, say three letters as an example, triggers the auto-complete, until the time the user completes keying in a user input key word). During that period of time there may be no user input key word. During that period of time, and without departing from the described scope, the search logic can be modified from the above description so as to search the configuration files using the auto-suggestion key word until the user input key word is generated. If a match is found using the auto-suggestion key word, the picture matched can be used for display at the user interface. If no match is found during that period of time using the auto-suggestion key word, the system can go back and search the configuration files that were already searched with the auto-suggestion key word, this time using the now-generated user input query to determine whether there is a match. If a match is found using the query it can be displayed. If the user query search “catches up” to the highest configuration file searched by the auto-suggestion key word with no match being found, the system can then revert to the search logic in FIG. 5 or FIG. 6 for the subsequent configuration files until a match is found.

In one embodiment, the picture can be displayed in the bottom of the drop down box, after plain text search suggestions to locate the picture, and/or popular product search suggestions to locate a suggested product as desired. This is seen in FIG. 7. In this example, any of the query's in the drop down list (ann taylor, ann demeule meester, anna sui, ann taylor loft, anne klein, annalee, raggedy ann, anne klein watch, annalee dolls, harley davidson 10^(th) anniversary) can cause the auto-complete function to generate the single auto-suggestion key word “Ann Taylor.” A match with a picture in a configuration file, using the above search strategy or another appropriate search strategy, will cause the picture “Ann Taylor outlet store” for this example to be transmitted to the user interface for display. When a user uses the keyboard (up or down), or mouse, to control the cursor locating the picture, the selected picture can be highlighted with background color. If the user then selects “enter,” the user can be led to the corresponding page identifying various aspects of the Ann Taylor outlet store. As seen in FIG. 8, stretching the search box can result in the picture being stretched, but still remain left aligned if desired. FIG. 9 illustrates examples of the Plain Text, Product, and Traffic Driver pictures that may be used. As illustrated in FIG. 9, the Traffic Driver picture can drive user traffic to the named outlet store. The picture can also include a link to the store as part of the traffic driver process.

FIG. 10 illustrates the picture in a drop down display with a web page in the background.

An example of a search of configuration files is seen in FIGS. 11A through 11D. In FIG. 11A two graphics, or pictures, are illustrated, A for Ann Taylor and B for Anna Sui. FIG. 11B shows one possible configuration file for graphic A. FIG. 11C shows one possible configuration file for graphic B. FIG. 11D shows a step by step illustration of the pictures what would be displayed with various queries that could relate either to Ann Taylor or Anna Sui, and the reasoning for the behavior of the system.

FIG. 12 shows a diagrammatic representation of machine in the example form of a computer system 200 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system 200 includes a processor 202 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory 204 and a static memory 206, which communicate with each other via a bus 208. The computer system 200 may further include a video display unit 210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 200 also includes an alphanumeric input device 212 (e.g., a keyboard), a cursor control device 214 (e.g., a mouse), a disk drive unit 216, a signal generation device 218 (e.g., a speaker) and a network interface device 220.

The software 224 may further be transmitted or received over a network 226 via the network interface device 220. While the machine-readable medium 222 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.

Thus, a method and system using an auto-complete function to drive traffic to selected stores have been described. Although the present invention has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in fewer than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. 

1. A system comprising: one or more hardware processors configured to include: an auto-complete application to generate an auto-suggestion keyword in response to detecting fewer than all letters of a query comprising a user-generated keyword; and a search engine to search respective files of a plurality of files, using the user-generated keyword and the auto-suggestion keyword as search arguments, to find content in the plurality of files that match at least one of the user-generated keyword or the auto-suggestion keyword; responsive to the search engine finding the content, the search engine is to transmit the content to a client machine as selectable content.
 2. The system of claim 1, wherein the search of the respective files is performed using the auto-suggestion keyword as a search argument prior to using the user-generated keyword as a search argument.
 3. The system of claim 1, wherein the search of the respective files is performed using the user-generated keyword as a search argument prior to using the auto-suggestion keyword as a search argument.
 4. The system of claim 2, wherein the search engine finds content comprising a plurality of different pictures in the plurality of files, the plurality of different pictures are sent to the client machine as selectable pictures, and the search engine is further, responsive to a selection of one of the plurality of different pictures, to find pictures of various aspects of the selected picture and transmit the pictures of the various aspects to the client machine.
 5. The system of claim 2, wherein the content comprises a plurality of different pictures of an image of a product and a name of a store that sells the product.
 6. The system of claim 2, wherein the content comprises a plurality of different pictures of one of an identification of a store that sells products under a brand name and a link to an online page for the store, or an image of a product.
 7. The system of claim 2, wherein each of the plurality of files is distinguished by an identifying number, the identifying numbers ranging from lower numbers to higher numbers, and the search proceeds from files distinguished by lower identifying numbers to files distinguished by higher identifying numbers, or from files distinguished by higher identifying numbers to files distinguished by lower identifying numbers.
 8. A method comprising: generating an auto-suggestion keyword in response to detecting fewer than all letters of a query comprising a user-generated keyword; searching respective files of a plurality of files, by one or more hardware processors, using the user-generated keyword and the auto-suggestion keyword as search arguments to find content in the plurality of files; and responsive to finding the content, transmitting the content to a client machine as selectable content.
 9. The method of claim 8, wherein the searching the respective files is performed using the auto-suggestion keyword as a search argument prior to using the user-generated keyword as a search argument.
 10. The method of claim 8, wherein the searching the respective files is performed using the user-generated keyword as a search argument prior to using the auto-suggestion keyword as a search argument.
 11. The method of claim 9, wherein the content comprise a plurality of different pictures in the plurality of files and transmitting the content comprises providing the plurality of different pictures to the client machine as selectable pictures, the method further comprising, responsive to a selection of one of the plurality of different pictures, finding pictures of various aspects of the selected picture and transmitting the pictures of the various aspects to the client machine.
 12. The method of claim 9, wherein the content comprises one of an identification of a store that sells products under a brand name and a link to an online page for the store, or an image of a product.
 13. The method of claim 9, wherein each of the plurality of files is distinguished by an identifying number, the identifying numbers ranging from lower numbers to higher numbers, and the searching proceeds from files distinguished by lower identifying numbers to files distinguished by higher identifying numbers, or from files distinguished by higher identifying numbers to tiles distinguished by lower identifying numbers.
 14. A computer-readable hardware storage device having embedded therein a set of instructions which, when executed by one or more processors of a computer, causes the computer to execute operations comprising: generating an auto-suggestion keyword in response to detecting fewer than all letters of a query comprising a user-generated keyword; searching respective files of a plurality of files using the user-generated keyword and the auto-suggestion keyword as search arguments to find content in the plurality of files; and responsive to finding the content, transmitting content to a client machine as selectable content.
 15. The storage device of claim 14, wherein the searching the respective files is performed using the auto-suggestion keyword as a search argument prior to using the user-generated keyword as a search argument.
 16. The storage device of claim 14, wherein the searching the respective files is performed using the user-generated keyword as a search argument prior to using the auto-suggestion keyword as a search argument.
 17. The storage device of claim 15, wherein the content comprises a plurality of different pictures in the plurality of files and transmitting the content comprises providing the plurality of different pictures to the client machine as selectable pictures, and, responsive to a selection of one of the plurality of different pictures, finding pictures of various aspects of the selected picture and transmitting the pictures of the various aspects to the client machine.
 18. The storage device of claim 15, wherein the content comprises an image of a product and a name of a store that sells the product.
 19. The storage device of claim 15, wherein the content comprises one of an identification of a store that sells products under a brand name and a link to an online page for the store, or an image of a product.
 20. The storage device of claim 15, wherein each of the plurality of files is distinguished by an identifying number, the identifying numbers ranging from lower numbers to higher numbers, and the searching proceeds from files distinguished by lower identifying numbers to files distinguished by higher identifying numbers, or from files distinguished by higher identifying numbers to files distinguished by lower identifying numbers. 